// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
}) // 使用当前云环境
const xlsx = require('node-xlsx');

// 云函数入口函数
exports.main = async (event, context) => {
  try {
    let type = event.type;
    let data = event.data;
    //1,定义excel表格名
    let fileName = event.fileName;
    fileName = fileName + '.xlsx';
    // if (type === "cur") {
      
      //2，定义存储数据的
      let allData = [["姓名",`${data.nameFilter}`],["性别",`${data.sexFilter}`],["年级",`${data.gradeFilter}`],["班级",`${data.classFilter}`],[]];
      for (let curData of data.allData) {
        let arr = [];
        // arr.push(userdata[key].id);
        // arr.push(userdata[key].name);
        // arr.push(userdata[key].weixin);
        allData.push(["题目",`${curData.questionName}`]);
        allData.push([]);
        
        arr=["平均值"];
        for(val of curData.avgData){
          arr.push(val);
        }
        allData.push(arr);
        // allData.push(["标准差",`${curData.standardDeviationData}`]);
        // allData.push(["日期",`${curData.categories}`]);
        arr=["标准差"];
        for(val of curData.standardDeviationData){
          arr.push(val);
        }
        allData.push(arr);
        arr=["日期"];
        for(val of curData.categories){
          arr.push(val);
        }
        allData.push(arr);
        allData.push([]);
        allData.push([]);
      }
      //3，把数据保存到excel里
      var buffer = await xlsx.build([{
        name: "数据",
        data: allData
      }]);
      //4，把excel文件保存到云存储里
      return await cloud.uploadFile({
        cloudPath: fileName,
        fileContent: buffer, //excel二进制文件
      })
    // }

  } catch (e) {
    console.error(e)
    return e
  }
}